// Gflags允许将命令行参数（flags）分散到各个源文件中，
// 而不需要像某些库那样集中定义。这意味着，
// 只要链接了定义了指定flags的源文件的其他文件，
// 都可以使用这个flags，从而提高了代码的复用性和灵活性。
#include<gflags/gflags.h>
#include <iostream>

DEFINE_string(ip, "127.0.0.1", "这是服务器的监听IP地址，格式：127.0.0.1");
DEFINE_int32(port, 8080, "这是服务器的监听端口, 格式: 8080");
DEFINE_bool(debug_enable, true, "是否启用调试模式, 格式：true/false");

int main(int argc, char *argv[])
{
    google::ParseCommandLineFlags(&argc, &argv, true);

    std::cout << FLAGS_ip << std::endl;
    std::cout << FLAGS_port << std::endl;
    std::cout << FLAGS_debug_enable << std::endl;
    return 0;
}